perm filename III[CRE,BGB] blob sn#019093 filedate 1973-01-25 generic text, type T, neo UTF8
00100	;III DISPLAY SUBROUTINES-BGB-JANUARY 1973----------------------
00200		A←1↔B←2↔C←3
00300		DPYBUF:	DPYBU.↔=2048 ↔ DPYBU.: BLOCK =2048
00400		IGNORE:0↔DPYPTR:0↔BUFEND:0
00500		BUFHD:0↔0;UPG ARGUMENT. ;ADDRESS ↔ LENGTH.
00600	;--------------------------------------------------------------
00700	DPYSET:	LAC 1,ARG1↔CDR 2,-1(1)	;BUFFER SIZE.
00800		ADDI 2,-1(1)↔DAC 2,BUFEND
00900		ADDI 1,2↔DAC 1,BUFHD	;POINT TO THIRD WORD.
01000		SETZM IGNORE
01100	CLR2:	LAC A,BUFHD↔LACI B,1↔DAC B,1(A)
01200		LACI B,2(A)↔LIPI B,1(A)↔BLT B,@BUFEND
01300		PUSH P,(P)↔GO LV3
01400	;--------------------------------------------------------------
01500	DPYBIG:	SKIPE IGNORE↔POP1J
01600		LAC A,ARG1↔LACI C,46↔DPB A,[POINT 3,3,27]
01700		PUSH P,(P)↔GO LV2
01800	
01900	DPYBRT:	SKIPE IGNORE↔POP1J
02000		LAC 1,ARG1↔LACI C,46↔DPB A,[POINT 3,3,24]
02100		PUSH P,(P)↔GO LV2
02200	;--------------------------------------------------------------
02300	AIVECT:	SKIPA C,[146]	;INVISIBLE ABSOLUTE.
02400	AVECT:	LACI C,106
02500		SKIPGE IGNORE↔POP2J
02600	LV:	LAC A,ARG2↔LAC B,ARG1
02700	LVC:	DPB A,[POINT 11,C,10]
02800		DPB B,[POINT 11,C,21]
02900	LV2:	AOS A,DPYPTR↔DAC C,(A)
03000	LV3:	LIPI A,<(<POINT 7,0,35>)>
03100		DAC A,DPYPTR↔LACI A,(A)
03200		CAML A,BUFEND↔SETOM IGNORE
03300		POP2J
03400	;--------------------------------------------------------------
03500	DPYSTR:	LAC 3,ARG1↔LIPI 3,440700
03600		ILDB 3↔JUMPE POP1J.
03700		CALL(DTYO,0)↔GO DPYSTR+2
03800	
03900	DTYO:	LAC 1,ARG1↔IDPB 1,DPYPTR
04000		CDR 1,DPYPTR↔CAML 1,BUFEND
04100		SETOM IGNORE↔POP1J
04200	;--------------------------------------------------------------
04300	DPYOUT:	SKIPN 1,BUFHD↔GO .+6
04400		LAC 2,DPYPTR↔DAC 2,-2(1)
04500		LACI 2,2(2)↔SUB 2,1↔DAC 2,-1(1)
04600		CDR B,DPYPTR↔SUB B,BUFHD
04700		AOS B↔DAC B,BUFHD+1
04800		LAC 1,ARG1↔DPB A,[POINT 4,.+1,12]↔703B8+BUFHD
04900		POP1J
05000	;--------------------------------------------------------------
05100	END SA